package oneplay.YonghongBITools.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class YHUtils {
    private static final Logger logger = LoggerFactory.getLogger(YHUtils.class);

    /**
     * 处理永洪SQL中的xml标签和变量
     *
     * @param sql 永洪sql
     * @return 标准SQL
     */
    public static String parseYHSQL(String sql) {
        String result = sql;
        if (result != null) {
            // 替换不等号 '<>' 为 '!='
            result = result.replaceAll("<>", "!=");
            // 去除 <变量名>、</变量名>标签
            result = result.replaceAll("</.+?>", "").replaceAll("<.+?>", "");
            // 去除 ?{变量名}
            result = result.replaceAll("\\?\\{.+?}", "''");
            // IN '' 修正
            result = result.replaceAll("(?i)IN[ \\t]*''", "IN ('')");
        }
        logger.debug("Cleaned SQL is : \n{}", result);
        return result;
    }

}
